var express = require('express');
const db = require('../db.js'); // 注意路径
var router = express.Router();

/* GET home page. */
router.get('/', function(req, res, next) {
  var sql = 'SELECT id,name,price,image,add_time FROM product order by add_time desc limit 0,4';
  db.conn.query(sql, function (err, result) {
    if(err){
      console.log('[SELECT ERROR] - ',err.message);
      return;
    }
    console.log(result); // 注意:返回的是一个数组,每个元素为一个对象[{},{},...,{}]
    res.render('index.ejs', {products : result});
  });
});

router.get('/product', function(req, res, next) {
    var cat_id = req.query.cat_id; // 取地址栏参数 cat_id 的值
    if (cat_id) { // 地址栏带有参数 cat_id，分类查询
        var sqlStr = "select * from product where cat_id=? order by id desc";
        var sqlParam = [cat_id];
    } else { // 地址栏没有参数 cat_id，查询所有商品
        var sqlStr = "select * from product order by id desc";
        var sqlParam = [];
    }
    db.conn.query(sqlStr, sqlParam, function(err, result) {
        if (err) {
            console.log(err);
            return;
        }
        console.log(result); //  [{},{},......{}]  数组
        // 渲染模板，将查询数据发过去
        res.render('productList.ejs', { products: result });
    });
});

router.get('/detail/:id', function(req, res, next) {
    // 从地址栏动态参数中获取商品 id
    var id = req.params.id;  
    // SQL 查询语句，根据 id 查询商品信息
    var sqlStr = "select id,image,name,price,content from product where id=?"; 
    var sqlParam = [id];
    // 执行数据库查询
    db.conn.query(sqlStr, sqlParam, function(err, result) { 
        if (err) {
            // 打印错误信息
            console.log(err); 
            return;
        }
        // 打印查询结果（数组形式，包含匹配的商品数据）
        console.log(result); 
        // 将查询结果传递给 detail.ejs 模板，渲染页面
        res.render('detail.ejs', { oneProduct: result }); 
    });
});

router.get('/page/:pid', function(req, res, next) {
    var pid = req.params.pid;  
    var sqlstr = "select id, page_name, content from page where id=?"; 
    var sqlParam = [pid];
    // 执行数据库查询
    db.conn.query(sqlstr, sqlParam, function(err, result) { 
        if (err) {
            console.log(err); 
            return;
        }
        console.log(result); 

        res.render('page.ejs', { pageContent: result }); 
    });
});


module.exports = router;